home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / misc / psfont.sty < prev    next >
Text File  |  1992-08-25  |  3KB  |  118 lines

  1. % Filename: psfont.sty
  2. % Author: Alan Jeffrey
  3. % E-mail: alanje@cogs.sussex.ac.uk
  4. % Last modified: 14 May 1992
  5.  
  6. % This is a document style option which defines macros for loading PS fonts.
  7.  
  8. % Set a flag to declare ourselves loaded:
  9.  
  10. \def\psfont@loaded{ }
  11.  
  12. % Load one font:
  13.  
  14. \def\new@ps@fontshape#1#2#3#4%
  15.    {\new@fontshape{#1}{#2}{#3}{%
  16.       <5>#4 at5pt%
  17.       <6>#4 at6pt%
  18.       <7>#4 at7pt%
  19.       <8>#4 at8pt%
  20.       <9>#4 at9pt%
  21.       <10>#4%
  22.       <11>#4 at10.95pt%
  23.       <12>#4 at12pt%
  24.       <14>#4 at14.4pt%
  25.       <17>#4 at17.28pt%
  26.       <20>#4 at20.736pt%
  27.       <25>#4 at24.8832pt}{}}
  28.  
  29. % Load a whole family:
  30.  
  31. \def\load@ps@font#1#2#3#4#5#6#7#8#9%
  32.    {\new@ps@fontshape{#1}{m}{n}{#2}
  33.       \new@ps@fontshape{#1}{m}{it}{#3}
  34.       \new@ps@fontshape{#1}{m}{sl}{#4}
  35.       \new@ps@fontshape{#1}{m}{sc}{#5}
  36.       \new@ps@fontshape{#1}{b}{n}{#6}
  37.       \new@ps@fontshape{#1}{b}{it}{#7}
  38.       \new@ps@fontshape{#1}{b}{sl}{#8}
  39.       \new@ps@fontshape{#1}{b}{sc}{#9}
  40.       \new@ps@fontshape{#1}{bx}{n}{#6}
  41.       \new@ps@fontshape{#1}{bx}{it}{#7}
  42.       \new@ps@fontshape{#1}{bx}{sl}{#8}
  43.       \new@ps@fontshape{#1}{bx}{sc}{#9}
  44.       \expandafter\let\csname every@#1@family\endcsname\every@ps@family
  45.       \extra@def{#1}}
  46.  
  47. % Some extra characters:
  48.  
  49. \chardef\currency"A8
  50. \chardef\cents"A2
  51. \chardef\yen"A5
  52. \chardef\florin"A6
  53.  
  54. % When a new family FOO is loaded, we call \every@FOO@family.
  55.  
  56. \def\fontfamily#1{\csname every@#1@family\endcsname\edef\f@family{#1}}
  57. \let\family\fontfamily
  58.  
  59. % The CM families define the following macros:
  60.  
  61. \let\cm@pounds\pounds
  62. \let\cm@S\S
  63. \let\cm@dag\dag
  64. \let\cm@ddag\ddag
  65. \let\cm@P\P
  66. \let\cm@ldots\ldots
  67. \let\cm@H\H
  68. \let\cm@dot\.
  69. \let\cm@AA\AA
  70.  
  71. \def\every@cm@family
  72.    {\let\pounds\cm@pounds
  73.       \let\S\cm@S
  74.       \let\dag\cm@dag
  75.       \let\ddag\cm@ddag
  76.       \let\P\cm@P
  77.       \let\ldots\cm@ldots
  78.       \let\H\cm@H
  79.       \let\.\cm@dot
  80.       \let\AA\cm@AA}
  81.  
  82. \let\every@cmr@family=\every@cm@family
  83. \let\every@cmtt@family=\every@cm@family
  84. \let\every@cmss@family=\every@cm@family
  85.  
  86. % The PS families define the following macros:
  87.  
  88. \newdimen\aadimen
  89.  
  90. \chardef\ps@pounds"A3
  91. \chardef\ps@S"A7
  92. \chardef\ps@dag"B2
  93. \chardef\ps@ddag"B3
  94. \chardef\ps@P"B6
  95. \chardef\ps@ldots"BC
  96. \def\ps@H#1{{\accent"CD #1}}
  97. \def\ps@dot#1{{\accent"C7 #1}}
  98. \def\ps@AA{\leavevmode\setbox0\hbox{h}\aadimen\ht0
  99.     \advance\aadimen-1ex\setbox0\hbox{A}\rlap{\raise.67\aadimen
  100.     \hbox to \wd0{\hss\char'27\hss}}A}
  101.  
  102. \def\every@ps@family
  103.    {\let\pounds\ps@pounds
  104.       \let\S\ps@S
  105.       \let\dag\ps@dag
  106.       \let\ddag\ps@ddag
  107.       \let\P\ps@P
  108.       \let\ldots\ps@ldots
  109.       \let\H\ps@H
  110.       \let\.\ps@dot
  111.       \let\AA\ps@AA}
  112.  
  113. % For some reason, the default family is hard wired to be cmr, 
  114. % rather than defined to be \rmdefault...
  115.  
  116. \def\default@family{\rmdefault}
  117.  
  118.